Артём, эта функция создает вещи не по тэгу, а по резрефу вещи. Поэтому по стандарту во всех вещах и объектах Биовари тэг = резрефу, чтобы не было путаницы. Чтобы твоя вещь создалась, сделай тэг и резреф одинаковыми. Например: тэг = ait_item_armor, резреф = ait_item_armor (резреф ограничен 16 символами). И не делай такие тэги, иначе быстро запутаешься, что у тебя за вещь, если будешь их просматривать по резрефам.
Так ты не указал, какую именно вещь нужно одеть. Потом, необходима мелкая задержка между созданием и одеванием вещи, потому что функция "CreateItemOnObject" более медленная, чем функция "ActionEquipItem" или "ActionEquipMostEffectiveArmor". Да, вот еще что. Вещи не одеваются на эвенте входа. Они хорошо одеваются на эвенте локации. Сам уже не раз наступал на эти грабли. Попробуй свой скрипт повесить на эвент локации входа. Вот как я одеваю вещи на нового персонажа:
Neverwinter Script
void ClientGiveClothers(object oPC, float fDelay)
{
string sClass, sItem;
object oClother;
// Выдача одежды игроку
switch (GetClassByPosition(1, oPC))
{
case CLASS_TYPE_BARBARIAN: sClass = "barbarian"; break;
case CLASS_TYPE_FIGHTER: sClass = "fighter"; break;
case CLASS_TYPE_MONK: sClass = "monk"; break;
case CLASS_TYPE_PALADIN: sClass = "paladin"; break;
case CLASS_TYPE_RANGER: sClass = "ranger"; break;
case CLASS_TYPE_ROGUE: sClass = "rogue"; break;
case CLASS_TYPE_BARD: sClass = "bard"; break;
case CLASS_TYPE_CLERIC: sClass = "cleric"; break;
case CLASS_TYPE_DRUID: sClass = "druid"; break;
case CLASS_TYPE_SORCERER: sClass = "sorcerer"; break;
case CLASS_TYPE_WIZARD: sClass = "wizard"; break;
}
if (GetGender(oPC) == GENDER_FEMALE) sItem = "ac_" + sClass + "_f";
else sItem = "ac_" + sClass + "_m";
if (GetItemPossessedBy(oPC, sItem) == OBJECT_INVALID) oClother = CreateItemOnObject(sItem, oPC);
if (oClother == OBJECT_INVALID) oClother = GetItemPossessedBy(oPC, sItem);
DelayCommand(fDelay, AssignCommand(oPC, ActionEquipItem(oClother, INVENTORY_SLOT_CHEST)));
}
Задержка fDelay=0.1 секунда.
Функция вызывается из общего тела скрипта в конце твоего условия:
Neverwinter Script
object oPC = GetEnteringObject();
...
ClientGiveClothers(oPC, 0.1);